<?php

/**
* lucene索引模型接口
* @author       steven.liao
*/
interface iLucene
{
    
    /**
    * 返回索引对象
    * @param    string $name    索引名，对应index.ini文件
    * @return   object
    */
    public function setName($name);
    
    /**
    * 取得索引名
    * @return   string
    */
    public function getName();
    
    /**
    * 设置返回数据条数
    * @param    int $limit    数据条数
    * @return   object
    */
    public function setLimit($limit);
    
    /**
    * 取得返回数据条数
    * @return   int
    */
    public function getLimit();
    
    /**
    * 设定当前返回页数据
    * @param    int $page    页码数
    * @return   object
    */
    public function setPage($page);
    
    /**
    * 取得当前页数
    * @return   int
    */
    public function getPage();
    
    /**
    * 设定查询的关键字
    * @param    string $keyword    当前查询的关键字
    * @return   object
    */
    public function setKeyword($keyword);
    
    /**
    * 取得当前要查询的关键字
    * @return   string
    */
    public function getKeyword();
    
    /**
    * 加入索引数据
    * @param    array $data    字段数组
    * @return   boolean
    */
    //public function addData($data);
    
    /**
    * 优化当前索引
    * @return   void
    */
    public function optimize();
    
    /**
    * 更新索引数据  单条
    * @param    array $data    当前数据数组
    * @return   int
    */
    public function update($data);
    /**
    * 更新索引数据  多条
    * @param    array $data    当前数据数组
    * @return   int
    */
    public function updates($datas);
    
    /**
    * 删除索引数据
    * @param    int $id    当前索引ID
    * @return   int
    */
    public function delete($id);
    
 	/**
    * 索引commit
    * @return   boolean
    */
    public function commit();
    
    /**
     * 统计索引数据
     * @return   array
     */
    public function count();
}